home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
dev
/
obero
/
oberon_lib.lha
/
oberon-a
/
source1.lha
/
source
/
Amiga
/
Narrator.mod
< prev
next >
Wrap
Text File
|
1994-08-08
|
7KB
|
153 lines
(**************************************************************************
$RCSfile: Narrator.mod $
Description: Interface to V37 narrator.device
Created by: fjc (Frank Copeland)
$Revision: 3.2 $
$Author: fjc $
$Date: 1994/08/08 00:47:50 $
$VER: narrator.h 1.7 (12.3.91)
Includes Release 40.15
Copyright 1990, 1991 Joseph Katz/Mark Barton.
All rights reserved.
This include file (narrator.h) may be freely distributed
as long as the above copyright notice remains intact.
Oberon-A interface Copyright © 1994, Frank Copeland.
This file is part of the Oberon-A Interface.
See Oberon-A.doc for conditions of use and distribution.
***************************************************************************)
MODULE Narrator;
(*
** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
** $V- OvflChk $Z- ZeroVars
*)
IMPORT E := Exec;
CONST
(* Device Options *)
newIORB * = 0; (* Use new extended IORB *)
wordSync * = 1; (* Generate word sync messages *)
sylSync * = 2; (* Generate syllable sync messages *)
(* Error Codes *)
noMem * = -2; (* Can't allocate memory *)
noAudLib * = -3; (* Can't open audio device *)
makeBad * = -4; (* Error in MakeLibrary call *)
unitErr * = -5; (* Unit other than 0 *)
cantAlloc * = -6; (* Can't allocate audio channel(s) *)
unimpl * = -7; (* Unimplemented command *)
noWrite * = -8; (* Read for mouth without write first *)
expunged * = -9; (* Can't open, deferred expunge bit set *)
phonErr * = -20; (* Phoneme code spelling error *)
rateErr * = -21; (* Rate out of bounds *)
pitchErr * = -22; (* Pitch out of bounds *)
sexErr * = -23; (* Sex not valid *)
modeErr * = -24; (* Mode not valid *)
freqErr * = -25; (* Sampling frequency out of bounds *)
volErr * = -26; (* Volume out of bounds *)
dCentErr * = -27; (* Degree of centralization out of bounds *)
centPhonErr * = -28; (* Invalid central phon *)
(* Input parameters and defaults *)
defPitch * = 110; (* Default pitch *)
defRate * = 150; (* Default speaking rate (wpm) *)
defVol * = 64; (* Default volume (full) *)
defFreq * = 22200; (* Default sampling frequency (Hz) *)
male * = 0; (* Male vocal tract *)
female * = 1; (* Female vocal tract *)
naturalF0 * = 0; (* Natural pitch contours *)
roboticF0 * = 1; (* Monotone pitch *)
manualF0 * = 2; (* Manual setting of pitch contours *)
defSex * = male; (* Default sex *)
defMode * = naturalF0; (* Default mode *)
defArtic * = 100; (* 100% articulation (normal) *)
defCentral * = 0; (* No centralization *)
defF0Pert * = 0; (* No F0 Perturbation *)
defF0Enthus * = 32; (* Default F0 enthusiasm (in 32nds) *)
defPriority * = 100; (* Default speaking priority *)
(* Parameter bounds *)
minRate * = 40; (* Minimum speaking rate *)
maxRate * = 400; (* Maximum speaking rate *)
minPitch * = 65; (* Minimum pitch *)
maxPitch * = 320; (* Maximum pitch *)
minFreq * = 5000; (* Minimum sampling frequency *)
maxFreq * = 28000; (* Maximum sampling frequency *)
minVol * = 0; (* Minimum volume *)
maxVol * = 64; (* Maximum volume *)
minCent * = 0; (* Minimum degree of centralization *)
maxCent * = 100; (* Maximum degree of centralization *)
TYPE
(* Standard Write request *)
NarratorPtr * = CPOINTER TO Narrator;
Narrator * = RECORD (E.IOStdReq) (* Standard IORB *)
rate * : E.UWORD; (* Speaking rate (words/minute) *)
pitch * : E.UWORD; (* Baseline pitch in Hertz *)
mode * : E.UWORD; (* Pitch mode *)
sex * : E.UWORD; (* Sex of voice *)
chMasks * : E.APTR; (* Pointer to audio alloc maps *)
nmMasks * : E.UWORD; (* Number of audio alloc maps *)
volume * : E.UWORD; (* Volume. 0 (off) thru 64 *)
sampfreq * : E.UWORD; (* Audio sampling freq *)
mouths * : BOOLEAN; (* If non-zero, generate mouths *)
chanmask * : E.UBYTE; (* Which ch mask used (internal)*)
numchan * : E.UBYTE; (* Num ch masks used (internal) *)
nFlags * : E.BSET; (* New feature flags *)
f0enthusiasm * : E.UBYTE; (* F0 excursion factor *)
f0perturb * : E.UBYTE; (* Amount of F0 perturbation *)
f1adj * : SHORTINT; (* F1 adjustment in ±5% steps *)
f2adj * : SHORTINT; (* F2 adjustment in ±5% steps *)
f3adj * : SHORTINT; (* F3 adjustment in ±5% steps *)
a1adj * : SHORTINT; (* A1 adjustment in decibels *)
a2adj * : SHORTINT; (* A2 adjustment in decibels *)
a3adj * : SHORTINT; (* A3 adjustment in decibels *)
articulate * : E.UBYTE; (* Transition time multiplier *)
centralize * : E.UBYTE; (* Degree of vowel centralization *)
centphon * : E.APTR; (* Pointer to central ASCII phon *)
avbias * : SHORTINT; (* AV bias *)
afbias * : SHORTINT; (* AF bias *)
priority * : SHORTINT; (* Priority while speaking *)
pad1 * : SHORTINT; (* For alignment *)
END; (* Narrator *)
(* Standard Read request *)
MouthPtr * = CPOINTER TO Mouth;
Mouth * = RECORD (Narrator) (* Speech IORB *)
width * : E.UBYTE; (* Width (returned value) *)
height * : E.UBYTE; (* Height (returned value) *)
shape - : E.UBYTE; (* Internal use, do not modify *)
sync * : E.UBYTE; (* Returned sync events *)
END; (* Mouth *)
CONST
name * = "narrator.device";
END Narrator.